﻿using System.Xml.Serialization;
using System.Collections.Generic;


namespace EDXLSharp.EDXLSitRepLib.Schemas
{
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    [System.Xml.Serialization.XmlRootAttribute("WeatherInfo", Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0", IsNullable = false)]
    public partial class WeatherInfoType
    {
        public string METARString { get; set; }
        public METARType METARReadings { get; set; }
        public string WeatherRemarks { get; set; }
        public string WeatherConcerns { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class METARType
    {
        public string StationID { get; set; }
        public System.DateTime ObservationTime { get; set; }
        public float TempC { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TempCSpecified { get; set; }
        public float DewpointC { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DewpointCSpecified { get; set; }
        public float WindDirDegrees { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool WindDirDegreesSpecified { get; set; }
        public int WindSpeedkt { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool WindSpeedktSpecified { get; set; }
        public int WindGustkt { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool WindGustktSpecified { get; set; }
        public float VisibilityStatuteMI { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool VisibilityStatuteMISpecified { get; set; }
        public int AltimeterHP { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AltimeterHPSpecified { get; set; }
        public int SeaLevelPressuremb { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SeaLevelPressurembSpecified { get; set; }
        public METARTypeWeatherPhenomenaReport WeatherPhenomenaReport { get; set; }
        public SkyConditionType SkyCondition { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool SkyConditionSpecified { get; set; }
        public float Precip1HrIn { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Precip1HrInSpecified { get; set; }
        public float Precip3HrIn { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Precip3HrInSpecified { get; set; }
        public float Precip6HrIn { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Precip6HrInSpecified { get; set; }
        public float Precip24HrIn { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool Precip24HrInSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class METARTypeWeatherPhenomenaReport
    {
        public WeatherQualifierType Qualifier { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool QualifierSpecified { get; set; }
        public WeatherDescriptorType Descriptor { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DescriptorSpecified { get; set; }
        public WeatherPrecipitationType Precipitation { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PrecipitationSpecified { get; set; }
        public WeatherObscurationType Obscuration { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ObscurationSpecified { get; set; }
        public WeatherAddlPhenomType Additional { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AdditionalSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public enum WeatherQualifierType
    {
        Light,
        Moderate,
        Heavy,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public enum WeatherDescriptorType
    {
        Shallow,
        Blowing,
        Patches,
        Showers,
        Partial,
        Drifting,
        Thunderstorm,
        Freezing,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public enum WeatherPrecipitationType
    {
        Drizzle,

        [System.Xml.Serialization.XmlEnumAttribute("Ice Crystals")]
        IceCrystals,
        Unknown,
        Rain,

        [System.Xml.Serialization.XmlEnumAttribute("Ice Pellets")]
        IcePellets,
        Snow,
        Hail,

        [System.Xml.Serialization.XmlEnumAttribute("Snow Grains")]
        SnowGrains,

        [System.Xml.Serialization.XmlEnumAttribute("Snow Hail")]
        SnowHail,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public enum WeatherObscurationType
    {
        Mist,
        Sand,
        Smoke,
        Haze,

        [System.Xml.Serialization.XmlEnumAttribute("Volcanic Ash")]
        VolcanicAsh,
        Spray,

        [System.Xml.Serialization.XmlEnumAttribute("Widespread Dust")]
        WidespreadDust,
        Other,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public enum WeatherAddlPhenomType
    {
        Squall,

        [System.Xml.Serialization.XmlEnumAttribute("Funnel Cloud")]
        FunnelCloud,
        Sandstorm,
        Tornado,
        Waterspout,
        Duststorm,

        [System.Xml.Serialization.XmlEnumAttribute("Dust Whirls")]
        DustWhirls,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public enum SkyConditionType
    {
        [System.Xml.Serialization.XmlEnumAttribute("Sky Clear")]
        SkyClear,
        Few,
        Scattered,
        Broken,
        Overcast,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute("Party", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class PartyType
    {
        public PartyNameType PartyName { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("Address", IsNullable = false)]
        public AddressesAddress[] Addresses { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("ContactNumber", IsNullable = false)]
        public ContactNumbersContactNumber[] ContactNumbers { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("ElectronicAddressIdentifier", IsNullable = false)]
        public ElectronicAddressIdentifiersElectronicAddressIdentifier[] ElectronicAddressIdentifiers { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("Identifier", IsNullable = false)]
        public IdentifiersIdentifier[] Identifiers { get; set; }
        public OrganisationInfo OrganisationInfo { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    [System.Xml.Serialization.XmlRootAttribute("PartyName", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl", IsNullable = false)]
    public partial class PartyNameType
    {
        [System.Xml.Serialization.XmlElementAttribute("NameLine")]
        public NameLine[] NameLine { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("PersonName")]
        public PartyNameTypePersonName[] PersonName { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("OrganisationName")]
        public PartyNameTypeOrganisationName[] OrganisationName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string PartyNameID { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string PartyNameIDType { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl", IsNullable = false)]
    public partial class NameLine
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    public partial class PartyNameTypePersonName : PersonNameType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    [System.Xml.Serialization.XmlRootAttribute("PersonName", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl", IsNullable = false)]
    public partial class PersonNameType
    {
        [System.Xml.Serialization.XmlElementAttribute("NameElement")]
        public PersonNameTypeNameElement NameElement { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    public partial class PersonNameTypeNameElement
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public PersonNameElementList ElementType { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ElementTypeSpecified { get; set; }

        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    public enum PersonNameElementList
    {
        PrecedingTitle,
        Title,
        FirstName,
        MiddleName,
        LastName,
        OtherName,
        Alias,
        GenerationIdentifier,
        Degree,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    public partial class PartyNameTypeOrganisationName : OrganisationNameType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    [System.Xml.Serialization.XmlRootAttribute("OrganisationName", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl", IsNullable = false)]
    public partial class OrganisationNameType
    {
        [System.Xml.Serialization.XmlElementAttribute("NameElement")]
        public OrganisationNameTypeNameElement[] NameElement { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("SubDivisionName")]
        public OrganisationNameTypeSubDivisionName[] SubDivisionName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string OrganisationID { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string OrganisationIDType { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    public partial class OrganisationNameTypeNameElement
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
    public partial class OrganisationNameTypeSubDivisionName
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class AddressesAddress : AddressType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    [System.Xml.Serialization.XmlRootAttribute("Address", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal", IsNullable = false)]
    public partial class AddressType
    {
        [System.Xml.Serialization.XmlArrayItemAttribute("AddressLine", IsNullable = false)]
        public AddressTypeAddressLine[] FreeTextAddress { get; set; }
        public AddressTypeCountry Country { get; set; }
        public AddressTypeAdministrativeArea AdministrativeArea { get; set; }
        public AddressTypeLocality Locality { get; set; }
        public AddressTypeThoroughfare Thoroughfare { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("Identifier", IsNullable = false)]
        public IdentifierType[] PostCode { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeAddressLine
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeCountry : CountryType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class CountryType
    {
        public CountryTypeNameElement NameElement { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class CountryTypeNameElement
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeAdministrativeArea
    {
        [System.Xml.Serialization.XmlElementAttribute("NameElement")]
        public AddressTypeAdministrativeAreaNameElement[] NameElement { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("NameElement", IsNullable = false)]
        public AddressTypeAdministrativeAreaNameElement1[] SubAdministrativeArea { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeAdministrativeAreaNameElement
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeAdministrativeAreaNameElement1
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeLocality
    {
        [System.Xml.Serialization.XmlElementAttribute("NameElement")]
        public AddressTypeLocalityNameElement[] NameElement { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("NameElement", IsNullable = false)]
        public AddressTypeLocalityNameElement1[] SubLocality { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeLocalityNameElement
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeLocalityNameElement1
    {
        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class AddressTypeThoroughfare : ThoroughfareType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class ThoroughfareType
    {
        [System.Xml.Serialization.XmlElementAttribute("NameElement", typeof(ThoroughfareTypeNameElement))]
        [System.Xml.Serialization.XmlElementAttribute("Number", typeof(IdentifierType))]
        public object[] Items { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string Type { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class ThoroughfareTypeNameElement
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct")]
        public bool Abbreviation { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AbbreviationSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public ThoroughfareNameTypeList NameType { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NameTypeSpecified { get; set; }

        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public enum ThoroughfareNameTypeList
    {
        NameOnly,
        PreDirection,
        PostDirection,
        NameAndNumber,
        NameAndType,
        NameNumberAndType,
        Unstructured,
        SubThoroughfareConnector,
        ReferenceLocation,
        Type,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public partial class IdentifierType
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public IdentifierElementTypeList Type { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct")]
        public bool Abbreviation { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AbbreviationSpecified { get; set; }

        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xal")]
    public enum IdentifierElementTypeList
    {
        Name,
        RangeFrom,
        Range,
        RangeTo,
        Prefix,
        Suffix,
        Number,
        Separator,
        Extension,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class ContactNumbersContactNumber
    {
        [System.Xml.Serialization.XmlElementAttribute("ContactNumberElement")]
        public ContactNumbersContactNumberContactNumberElement[] ContactNumberElement { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public CommunicationMediaTypeList CommunicationMediaType { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CommunicationMediaTypeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string Usage { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string ContactHours { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class ContactNumbersContactNumberContactNumberElement
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public ContactNumberElementList Type { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified { get; set; }

        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public enum ContactNumberElementList
    {
        CountryCode,
        AreaCode,
        LocalNumber,
        Extension,
        Pin,
        Separator,
        NationalNumber,
        InternationalNumber,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public enum CommunicationMediaTypeList
    {
        Cellphone,
        Fax,
        Pager,
        Telephone,
        VOIP,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class ElectronicAddressIdentifiersElectronicAddressIdentifier
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public ElectronicAddressIdentifierTypeList Type { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string Usage { get; set; }

        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public enum ElectronicAddressIdentifierTypeList
    {
        AIM,
        EMAIL,
        GOOGLE,
        GIZMO,
        ICQ,
        JABBER,
        MSN,
        SIP,
        SKYPE,
        URL,
        XRI,
        YAHOO,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class IdentifiersIdentifier
    {
        [System.Xml.Serialization.XmlElementAttribute("IdentifierElement")]
        public IdentifiersIdentifierIdentifierElement[] IdentifierElement { get; set; }
        public OrganisationNameType IssuerName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public PartyIdentifierTypeList Type { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class IdentifiersIdentifierIdentifierElement
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public PartyIdentifierElementList Type { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool TypeSpecified { get; set; }

        [System.Xml.Serialization.XmlTextAttribute(DataType = "normalizedString")]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public enum PartyIdentifierElementList
    {
        Identifier,
        IssuingCountryName,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public enum PartyIdentifierTypeList
    {
        TaxID,
        CompanyID,
        NationalID,
        RegistrationID,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class OrganisationInfo
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string Type { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public OrganisationCategoryTypeList CategoryType { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool CategoryTypeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public string Status { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string Nature { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string IndustryType { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string IndustryCode { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string IndustryCodeType { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "normalizedString")]
        public string NumberOfEmployees { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "time")]
        public System.DateTime OperatingHourStartTime { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OperatingHourStartTimeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "time")]
        public System.DateTime OperatingHourEndTime { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool OperatingHourEndTimeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct")]
        public DataQualityTypeList DataQualityType { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DataQualityTypeSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct")]
        public System.DateTime ValidFrom { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValidFromSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct")]
        public System.DateTime ValidTo { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ValidToSpecified { get; set; }

        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public enum OrganisationCategoryTypeList
    {
        Vendor,
        GovernmentAgency,
        University,
        College,
        School,
        Club,
        Association,
        Consortium,
        Company,
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:ct")]
    public enum DataQualityTypeList
    {
        Valid,
        Invalid,
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class PersonDetails : PersonDetailsType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PersonDetailsType1))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    public partial class PersonDetailsType
    {
        [System.Xml.Serialization.XmlArrayAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
        [System.Xml.Serialization.XmlArrayItemAttribute("NameElement", typeof(PersonNameTypeNameElement), IsNullable = false)]
        public PersonNameTypeNameElement[] PersonName { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("Address", IsNullable = false)]
        public AddressesAddress[] Addresses { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("ContactNumber", IsNullable = false)]
        public ContactNumbersContactNumber[] ContactNumbers { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("ElectronicAddressIdentifier", IsNullable = false)]
        public ElectronicAddressIdentifiersElectronicAddressIdentifier[] ElectronicAddressIdentifiers { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("Identifier", IsNullable = false)]
        public IdentifiersIdentifier[] Identifiers { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(TypeName = "PersonDetailsType", Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class PersonDetailsType1 : PersonDetailsType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(OrganizationInformationType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute("OrganisationDetails", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class OrganisationDetailsType
    {
        [System.Xml.Serialization.XmlElementAttribute("OrganisationName", Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xnl")]
        public OrganisationNameType[] OrganisationName { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("Address", IsNullable = false)]
        public AddressesAddress[] Addresses { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("ContactNumber", IsNullable = false)]
        public ContactNumbersContactNumber[] ContactNumbers { get; set; }

        [System.Xml.Serialization.XmlArrayItemAttribute("ElectronicAddressIdentifier", IsNullable = false)]
        public ElectronicAddressIdentifiersElectronicAddressIdentifier[] ElectronicAddressIdentifiers { get; set; }
        public OrganisationInfo OrganisationInfo { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class OrganizationInformationType : OrganisationDetailsType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class Addresses
    {
        [System.Xml.Serialization.XmlElementAttribute("Address")]
        public AddressesAddress[] Address { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class ContactNumbers
    {
        [System.Xml.Serialization.XmlElementAttribute("ContactNumber")]
        public ContactNumbersContactNumber[] ContactNumber { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class ElectronicAddressIdentifiers
    {
        [System.Xml.Serialization.XmlElementAttribute("ElectronicAddressIdentifier")]
        public ElectronicAddressIdentifiersElectronicAddressIdentifier[] ElectronicAddressIdentifier { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ciq:1.0:xpil", IsNullable = false)]
    public partial class Identifiers
    {
        [System.Xml.Serialization.XmlElementAttribute("Identifier")]
        public IdentifiersIdentifier[] Identifier { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:gsf:1.0")]
    [System.Xml.Serialization.XmlRootAttribute("EDXLGeoLocation", Namespace = "urn:oasis:names:tc:emergency:edxl:gsf:1.0", IsNullable = false)]
    public partial class EDXLGeoLocationType
    {
        [System.Xml.Serialization.XmlElementAttribute("CircleByCenterPoint", typeof(CircleByCenterPointType), Namespace = "http://www.opengis.net/gml/3.2")]
        [System.Xml.Serialization.XmlElementAttribute("Envelope", typeof(EnvelopeType), Namespace = "http://www.opengis.net/gml/3.2")]
        [System.Xml.Serialization.XmlElementAttribute("LineString", typeof(LineStringType), Namespace = "http://www.opengis.net/gml/3.2")]
        [System.Xml.Serialization.XmlElementAttribute("Point", typeof(PointType), Namespace = "http://www.opengis.net/gml/3.2")]
        [System.Xml.Serialization.XmlElementAttribute("Polygon", typeof(PolygonType), Namespace = "http://www.opengis.net/gml/3.2")]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("CircleByCenterPoint", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class CircleByCenterPointType : ArcByCenterPointType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleByCenterPointType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("ArcByCenterPoint", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class ArcByCenterPointType : AbstractCurveSegmentType
    {
        public ArcByCenterPointType()
        {
            this.interpolation = CurveInterpolationType.circularArcCenterPointWithRadius;
            this.numArc = "1";
        }
        public DirectPositionType pos { get; set; }
        public LengthType radius { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute()]
        public CurveInterpolationType interpolation { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool interpolationSpecified { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "integer")]
        public string numArc { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("pos", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class DirectPositionType
    {
        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "anyURI")]
        public string srsName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "positiveInteger")]
        public string srsDimension { get; set; }

        // The coordinates need to be parsed out from here
        [System.Xml.Serialization.XmlTextAttribute()]
        public string Text { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public partial class LengthType : MeasureType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LengthType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("measure", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class MeasureType
    {
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string uom { get; set; }

        [System.Xml.Serialization.XmlTextAttribute()]
        public double Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public enum CurveInterpolationType
    {
        linear,
        geodesic,
        circularArc3Points,
        circularArc2PointWithBulge,
        circularArcCenterPointWithRadius,
        elliptical,
        clothoid,
        conic,
        polynomialSpline,
        cubicSpline,
        rationalSpline,
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ArcByCenterPointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CircleByCenterPointType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractCurveSegmentType
    {
        public AbstractCurveSegmentType()
        {
            this.numDerivativesAtStart = "0";
            this.numDerivativesAtEnd = "0";
            this.numDerivativeInterior = "0";
        }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string numDerivativesAtStart { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string numDerivativesAtEnd { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "integer")]
        [System.ComponentModel.DefaultValueAttribute("0")]
        public string numDerivativeInterior { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("Envelope", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class EnvelopeType
    {
        public DirectPositionType lowerCorner { get; set; }
        public DirectPositionType upperCorner { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "anyURI")]
        public string srsName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "positiveInteger")]
        public string srsDimension { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("LineString", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class LineStringType : AbstractCurveType
    {
        [System.Xml.Serialization.XmlElementAttribute("pos", typeof(DirectPositionType))]
        [System.Xml.Serialization.XmlElementAttribute("posList", typeof(DirectPositionListType))]
        public object[] Items { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("posList", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class DirectPositionListType
    {
        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "anyURI")]
        public string srsName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "positiveInteger")]
        public string srsDimension { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "positiveInteger")]
        public string count { get; set; }

        [System.Xml.Serialization.XmlTextAttribute()]
        public string Text { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LineStringType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractCurveType : AbstractGeometricPrimitiveType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractCurveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LineStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractSurfaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PolygonType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractGeometricPrimitiveType : AbstractGeometryType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractGeometricPrimitiveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractCurveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LineStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractSurfaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PolygonType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractGeometryType : AbstractGMLType
    {
        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "anyURI")]
        public string srsName { get; set; }

        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "positiveInteger")]
        public string srsDimension { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractGeometryType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractGeometricPrimitiveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractCurveType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LineStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PointType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractSurfaceType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PolygonType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractGMLType
    {
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "ID")]
        public string id { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("Point", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class PointType : AbstractGeometricPrimitiveType
    {
        public DirectPositionType pos { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PolygonType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractSurfaceType : AbstractGeometricPrimitiveType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("Polygon", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class PolygonType : AbstractSurfaceType
    {
        public AbstractRingPropertyType exterior { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("exterior", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class AbstractRingPropertyType
    {
        [System.Xml.Serialization.XmlElementAttribute("LinearRing")]
        public LinearRingType Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("LinearRing", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class LinearRingType : AbstractRingType
    {
        [System.Xml.Serialization.XmlElementAttribute("pos")]
        public DirectPositionType[] pos { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LinearRingType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    public abstract partial class AbstractRingType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CodeWithAuthorityType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("name", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class CodeType
    {
        [System.Xml.Serialization.XmlAttributeAttribute(DataType = "anyURI")]
        public string codeSpace { get; set; }

        [System.Xml.Serialization.XmlTextAttribute()]
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml/3.2")]
    [System.Xml.Serialization.XmlRootAttribute("identifier", Namespace = "http://www.opengis.net/gml/3.2", IsNullable = false)]
    public partial class CodeWithAuthorityType : CodeType
    {
    }

    /// <summary>
    /// Root SitRep element
    /// </summary>
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0", IsNullable = false)]
    public partial class SitRep
    {
        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string MessageID { get; set; }
        public PersonTimePairType PreparedBy { get; set; }
        public PersonTimePairType AuthorizedBy { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ReportPurpose { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ReportNumber { get; set; }
        public ReportVersionType ReportVersion { get; set; }
        public TimePeriodType ForTimePeriod { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ReportTitle { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("IncidentID", DataType = "token")]
        public string[] IncidentID { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("IncidentLifecyclePhase")]
        public IncidentLifecycleType[] IncidentLifecyclePhase { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string OriginatingMessageID { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("PrecedingMessageID", DataType = "token")]
        public string[] PrecedingMessageID { get; set; }
        public UrgencyType Urgency { get; set; }
        public ValueKeyType ReportConfidence { get; set; }
        public SeverityType Severity { get; set; }
        public EDXLLocationType ReportingLocation { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ActionPlan { get; set; }
        public System.DateTime NextContact { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NextContactSpecified { get; set; }
        public IReport Report { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class PersonTimePairType
    {
        public PersonDetailsType1 PersonDetails { get; set; }
        public System.DateTime TimeValue { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class ReportVersionType
    {
        [System.Xml.Serialization.XmlElementAttribute("Version", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("VersionDefault", typeof(ReportVersionDefaultType))]
        public object Item { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(EmergencyResponseIssuesDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(InfrastructureAffectedDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(LifeAndSafetyThreatDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SignificantEventsDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(IncidentTypeDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ImmediateNeedsDefaultType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ValueListType
    {
        [System.Xml.Serialization.XmlElementAttribute(DataType = "anyURI")]
        public string ValueListURI { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("Value")]
        public string[] Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class EmergencyResponseIssuesDefaultType : ValueListType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class InfrastructureAffectedDefaultType : ValueListType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class LifeAndSafetyThreatDefaultType : ValueListType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class SignificantEventsDefaultType : ValueListType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class IncidentTypeDefaultType : ValueListType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ImmediateNeedsDefaultType : ValueListType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ReportVersionDefaultType : ValueKeyType
    {
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ComplexityDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PropertyDamageDefaultValueKey))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CasualtyAndIllnessCountCategoryDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PositionDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SeverityDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(UrgencyDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(IncidentLifecycleDefaultType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ReportVersionDefaultType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ValueKeyType
    {
        [System.Xml.Serialization.XmlElementAttribute(DataType = "anyURI")]
        public string ValueListURI { get; set; }
        public string Value { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ComplexityDefaultType : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class PropertyDamageDefaultValueKey : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class CasualtyAndIllnessCountCategoryDefaultType : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class PositionDefaultType : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class SeverityDefaultType : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class UrgencyDefaultType : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class IncidentLifecycleDefaultType : ValueKeyType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class TimePeriodType
    {
        public System.DateTime FromDateTime { get; set; }
        public System.DateTime ToDateTime { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentLifecycleType
    {
        [System.Xml.Serialization.XmlElementAttribute("IncidentLifecycle", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("IncidentLifecycleDefault", typeof(IncidentLifecycleDefaultType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class UrgencyType
    {
        [System.Xml.Serialization.XmlElementAttribute("Urgency", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("UrgencyDefault", typeof(UrgencyDefaultType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class SeverityType
    {
        [System.Xml.Serialization.XmlElementAttribute("Severity", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("SeverityDefault", typeof(SeverityDefaultType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class EDXLLocationType
    {
        [System.Xml.Serialization.XmlElementAttribute("EDXLGeoLocation", typeof(EDXLGeoLocationType))]
        [System.Xml.Serialization.XmlElementAttribute("EDXLGeoPoliticalLocation", typeof(EDXLGeoPoliticalLocationType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class EDXLGeoPoliticalLocationType
    {
        [System.Xml.Serialization.XmlElementAttribute("Address", typeof(AddressType))]
        [System.Xml.Serialization.XmlElementAttribute("GeoCode", typeof(ValueListType))]
        public object Item { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ManagementReportingSummary))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(CasualtyAndIllnessSummary))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ResponseResourcesTotals))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(SituationInformation))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(FieldObservation))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public abstract partial class IReport
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0", IsNullable = false)]
    public partial class ManagementReportingSummary : IReport
    {
        public SituationSummary SituationSummary { get; set; }
        public IncidentDecisionSupportInformation DecisionSupportInformation { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("JurisdictionInformation")]
        public Jurisdiction[] JurisdictionInformation { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class SituationSummary
    {
        public string IncidentCause { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("SignificantEvents")]
        public SignificantEventsType[] SignificantEvents { get; set; }
        public string DamageAssessmentInformation { get; set; }
        public string PrimaryHazards { get; set; }
        public System.Xml.XmlElement HazMatIncidentReport { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("ExtentOfContamination")]
        public EDXLLocationType[] ExtentOfContamination { get; set; }
        public string GeneralPopulationStatus { get; set; }
        public string HumanLifeAndSafetyThreat { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("LifeAndSafetyThreat")]
        public LifeAndSafetyThreatType[] LifeAndSafetyThreat { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("IncidentThreatSummaryAndRisk")]
        public string[] IncidentThreatSummaryAndRisk { get; set; }
        public string FollowOnIndication { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("InfrastructureAffected")]
        public InfrastructureAffectedType[] InfrastructureAffected { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("PropertyDamage")]
        public PropertyDamageType[] PropertyDamage { get; set; }
        public float PercentContained { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool PercentContainedSpecified { get; set; }
        public string RequestsForAdditionalSupport { get; set; }
        public string TerrorismNexus { get; set; }
        public WeatherInfoType WeatherEffects { get; set; }
        public string WMDEffects { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("TransportationSystems")]
        public ValueKeyStringPairType[] TransportationSystems { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class SignificantEventsType
    {
        [System.Xml.Serialization.XmlElementAttribute("SignificantEvents", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("SignificantEventsDefault", typeof(SignificantEventsDefaultType))]
        public ValueListType Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class LifeAndSafetyThreatType
    {
        [System.Xml.Serialization.XmlElementAttribute("LifeAndSafetyThreat", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("LifeAndSafetyThreatDefault", typeof(LifeAndSafetyThreatDefaultType))]
        public ValueListType Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class InfrastructureAffectedType
    {
        [System.Xml.Serialization.XmlElementAttribute("InfrastructureAffected", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("InfrastructureAffectedDefault", typeof(InfrastructureAffectedDefaultType))]
        public ValueListType Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class PropertyDamageType
    {
        [System.Xml.Serialization.XmlElementAttribute("PropertyDamage", typeof(ValueKeyIntPairType))]
        [System.Xml.Serialization.XmlElementAttribute("PropertyDamageDefault", typeof(PropertyDamageDefaultType))]
        public ValueKeyIntPairType Item { get; set; }
    }

    [System.Xml.Serialization.XmlIncludeAttribute(typeof(PropertyDamageDefaultType))]
    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ValueKeyIntPairType
    {
        public ValueKeyType ValueKeyURI { get; set; }
        public int PairValue { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class PropertyDamageDefaultType : ValueKeyIntPairType
    {
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:edxl:ct:1.0")]
    public partial class ValueKeyStringPairType
    {
        public ValueKeyType ValueKeyURI { get; set; }
        public string PairValue { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentDecisionSupportInformation
    {
        public ValueKeyStringPairType ProjectedIncidentActivity { get; set; }
        public uint ProjectedNumberToBeSheltered { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProjectedNumberToBeShelteredSpecified { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("CriticalResourceNeeds")]
        public ValueKeyStringPairType[] CriticalResourceNeeds { get; set; }
        public ulong ProjectedFinalIncidentSize { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProjectedFinalIncidentSizeSpecified { get; set; }
        public IncidentDecisionSupportInformationAnticipatedCompletion AnticipatedCompletion { get; set; }
        public IncidentDecisionSupportInformationProjectedDemobilization ProjectedDemobilization { get; set; }
        public IncidentDecisionSupportInformationEstimatedCosts EstimatedCosts { get; set; }
        public IncidentDecisionSupportInformationProjectedCosts ProjectedCosts { get; set; }
        public EmergencyResponseIssuesType EmergencyResponseIssues { get; set; }
        public string StrategicDiscussion { get; set; }
        public string PlannedActions { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentDecisionSupportInformationAnticipatedCompletion
    {
        public System.DateTime AnticipatedCompletionDate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool AnticipatedCompletionDateSpecified { get; set; }
        public string Remarks { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentDecisionSupportInformationProjectedDemobilization
    {
        public System.DateTime ProjectedDemobilizationStartDate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ProjectedDemobilizationStartDateSpecified { get; set; }
        public string Remarks { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentDecisionSupportInformationEstimatedCosts
    {
        public string EstimatedCostsToDate { get; set; }
        public bool Estimate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EstimateSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentDecisionSupportInformationProjectedCosts
    {
        public string ProjectedFinalCosts { get; set; }
        public string Remarks { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class EmergencyResponseIssuesType
    {
        [System.Xml.Serialization.XmlElementAttribute("EmergencyResponseIssues", typeof(ValueKeyStringPairType))]
        [System.Xml.Serialization.XmlElementAttribute("EmergencyResponseIssuesDefault", typeof(EmergencyResponseIssuesDefaultType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class Jurisdiction
    {
        public string Name { get; set; }
        public JurisdictionJurisdictionSize JurisdictionSize { get; set; }
        public EDXLLocationType Location { get; set; }
        public string Description { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class JurisdictionJurisdictionSize
    {
        public ulong GeographicSize { get; set; }
        public bool Estimate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EstimateSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0", IsNullable = false)]
    public partial class ResponseResourcesTotals : IReport
    {
        [System.Xml.Serialization.XmlElementAttribute("ResourceTotal")]
        public ResponseResourceTotals[] ResourceTotal { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("OrganizationAndAssignments")]
        public CommandOrganization[] OrganizationAndAssignments { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class ResponseResourceTotals
    {
        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string BranchDivisionGroup { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("Resource")]
        public ResourceCount[] Resource { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class ResourceCount
    {
        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string AgencyOrganization { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ResourceName { get; set; }
        public ValueListType ResourceTypeCategoryKind { get; set; }
        public ResponseResourcesDetail ResourceDetail { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class ResponseResourcesDetail
    {
        public uint ResourcePersonnelCount { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResourcePersonnelCountSpecified { get; set; }
        public uint UnassignedResourcePersonnel { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool UnassignedResourcePersonnelSpecified { get; set; }
        
        // Default parser can't convert from empty string to number
        [XmlIgnore()]
        public uint ResourceRequiredCount { get; set; }
        
        [XmlIgnore()]
        public uint ResourceCommittedCount { get; set; }
        
        [XmlIgnore()]
        public uint ResourceOnHandCount { get; set; }
        
        [XmlIgnore()]
        public uint ResourceNeededCount { get; set; }

        [XmlIgnore()]
        public uint ResourceRequestedCount { get; set; }

        [XmlElement(ElementName = "ResourceRequiredCount")]
        public string XmlResourceRequiredCount
        {
            get { return ResourceRequiredCount.ToString(); }
            set { ResourceRequiredCount = ConvertUInt(value).GetValueOrDefault(); }
        }

        [XmlElement(ElementName = "ResourceCommittedCount")]
        public string XmlResourceCommittedCount {
            get { return ResourceCommittedCount.ToString(); }
            set { ResourceCommittedCount = ConvertUInt(value).GetValueOrDefault(); }
        }

        [XmlElement(ElementName = "ResourceOnHandCount")]
        public string XmlResourceOnHandCount
        {
            get { return ResourceOnHandCount.ToString(); }
            set { ResourceOnHandCount = ConvertUInt(value).GetValueOrDefault(); }
        }

        [XmlElement(ElementName = "ResourceNeededCount")]
        public string XmlResourceNeededCount
        {
            get { return ResourceNeededCount.ToString(); }
            set { ResourceNeededCount = ConvertUInt(value).GetValueOrDefault(); }
        }

        [XmlElement(ElementName = "ResourceRequestedCount")]
        public string XmlResourceRequestedCount
        {
            get { return ResourceCommittedCount.ToString(); }
            set { ResourceRequestedCount = ConvertUInt(value).GetValueOrDefault(); }
        }


        public System.DateTime DateTimeOrdered { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool DateTimeOrderedSpecified { get; set; }
        public System.DateTime RequestedArrival { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequestedArrivalSpecified { get; set; }
        public System.DateTime EstimatedArrival { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EstimatedArrivalSpecified { get; set; }
        public EDXLLocationType ReportToLocation { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("OverheadPosition")]
        public ValueKeyIntPairType[] OverheadPosition { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string WorkAssignment { get; set; }
        public string SpecialInstructions { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("SpecialEquipmentAndSupplies")]
        public string[] SpecialEquipmentAndSupplies { get; set; }
        public string AdditionalAssistingOrganizations { get; set; }

        /// <summary>
        /// Converts a string to a nullable unsigned integer
        /// </summary>
        /// <param name="value">The string to convert</param>
        /// <returns>Returns a nullable object that either has the parsed value or the type's default (0)</returns>
        private uint? ConvertUInt(string value)
        {
            if (string.IsNullOrEmpty(value))
            {
                return null;
            }
            return uint.Parse(value);
        }

    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class CommandOrganization
    {
        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string CommandStructure { get; set; }
        public PositionType PositionTitle { get; set; }
        public PersonDetailsType1 PersonName { get; set; }
        public ValueKeyType Branch { get; set; }
        public PositionType ReportsToPositionTitle { get; set; }
        public PersonDetailsType1 ReportsToPersonName { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("ReportsToAgency")]
        public ValueListType[] ReportsToAgency { get; set; }
        public ValueKeyType ReportsToBranch { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class PositionType
    {
        [System.Xml.Serialization.XmlElementAttribute("Position", typeof(ValueKeyStringPairType))]
        [System.Xml.Serialization.XmlElementAttribute("PositionDefault", typeof(PositionDefaultType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0", IsNullable = false)]
    public partial class FieldObservation : IReport
    {
        public EDXLLocationType ObservationLocation { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ImmediateNeeds { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("ImmediateNeedsCategory")]
        public ImmediateNeedsCategoryType[] ImmediateNeedsCategory { get; set; }
        public string ObservationText { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class ImmediateNeedsCategoryType
    {
        [System.Xml.Serialization.XmlElementAttribute("ImmediateNeedsCategory", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("ImmediateNeedsCategoryDefault", typeof(ImmediateNeedsDefaultType))]
        public ValueListType Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0", IsNullable = false)]
    public partial class SituationInformation : IReport
    {
        [System.Xml.Serialization.XmlElementAttribute("IncidentName")]
        public string[] IncidentName { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("IncidentType")]
        public IncidentTypeType[] IncidentType { get; set; }
        public ComplexityType IncidentComplexity { get; set; }
        public System.DateTime IncidentStartDateTime { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IncidentStartDateTimeSpecified { get; set; }
        public SituationInformationGeographicSize GeographicSize { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("DisasterInformation")]
        public DisasterInformation[] DisasterInformation { get; set; }
        public EDXLLocationType IncidentLocation { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("JurisdictionInformation")]
        public Jurisdiction[] JurisdictionInformation { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("IncidentStaging")]
        public StagingArea[] IncidentStaging { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class IncidentTypeType
    {
        [System.Xml.Serialization.XmlElementAttribute("IncidentType", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("IncidentTypeDefault", typeof(IncidentTypeDefaultType))]
        public ValueListType Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class ComplexityType
    {
        [System.Xml.Serialization.XmlElementAttribute("Complexity", typeof(ValueListType))]
        [System.Xml.Serialization.XmlElementAttribute("ComplexityDefault", typeof(ComplexityDefaultType))]
        public object Item { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class SituationInformationGeographicSize
    {
        public ulong IncidentGeographicSize { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool IncidentGeographicSizeSpecified { get; set; }
        public bool Estimate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EstimateSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class DisasterInformation
    {
        public string DisasterName { get; set; }
        public string DisasterDeclarationAuthority { get; set; }
        public System.DateTime DisasterDeclarationDateTime { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class StagingArea
    {
        public string IncidentStagingArea { get; set; }
        public EDXLLocationType IncidentStagingAreaLocation { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0", IsNullable = false)]
    public partial class CasualtyAndIllnessSummary : IReport
    {
        [System.Xml.Serialization.XmlElementAttribute("SummaryCount")]
        public CasualtyAndIllnessCategory[] SummaryCount { get; set; }

        [System.Xml.Serialization.XmlElementAttribute("NotifiableDiseaseNumbers")]
        public NotifiableDiseaseNumbers[] NotifiableDiseaseNumbers { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class CasualtyAndIllnessCategory
    {
        public CasualtyAndIllnessCountCategoryType CasualtyAndIllnessCountCategory { get; set; }
        public uint ResponderSummaryCount { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResponderSummaryCountSpecified { get; set; }
        public uint NonResponderSummaryCount { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonResponderSummaryCountSpecified { get; set; }
        public uint ResponderSummaryCountToDate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ResponderSummaryCountToDateSpecified { get; set; }
        public uint NonResponderSummaryCountToDate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool NonResponderSummaryCountToDateSpecified { get; set; }
        public CasualtyAndIllnessCategoryReceivedMassImmunizations ReceivedMassImmunizations { get; set; }
        public CasualtyAndIllnessCategoryRequireMassImmunizations RequireMassImmunizations { get; set; }
        public uint ShelterCountEstimate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ShelterCountEstimateSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class CasualtyAndIllnessCountCategoryType
    {
        [System.Xml.Serialization.XmlElementAttribute("CountCategory", typeof(ValueKeyType))]
        [System.Xml.Serialization.XmlElementAttribute("CountCategoryDefault", typeof(CasualtyAndIllnessCountCategoryDefaultType))]
        [System.Xml.Serialization.XmlElementAttribute("Estimate", typeof(bool))]
        [System.Xml.Serialization.XmlElementAttribute("Remarks", typeof(string))]
        public object[] Items { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class CasualtyAndIllnessCategoryReceivedMassImmunizations
    {
        public uint HaveReceivedMassImmunizationsCount { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool HaveReceivedMassImmunizationsCountSpecified { get; set; }
        public string Remarks { get; set; }
        public bool Estimate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EstimateSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class CasualtyAndIllnessCategoryRequireMassImmunizations
    {
        public uint RequireMassImmunizationsCount { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool RequireMassImmunizationsCountSpecified { get; set; }
        public string Remarks { get; set; }
        public bool Estimate { get; set; }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool EstimateSpecified { get; set; }
    }

    [System.SerializableAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "urn:oasis:names:tc:emergency:EDXL:SitRep:1.0")]
    public partial class NotifiableDiseaseNumbers
    {
        public ValueKeyType DiseaseSuspected { get; set; }

        [System.Xml.Serialization.XmlElementAttribute(DataType = "token")]
        public string ProbableCause { get; set; }
        public uint CountOfSuspectedCases { get; set; }
        public uint CountOfConfirmedCases { get; set; }
    }
}
